package co.edu.usbcali.egrapico.logica;

/**
 * Clase para la traducci�n de la representaci�n del programa principal desde
 * <I>GraPiCO Textual</I> hacia <I>C�lculo PiCO</I>.
 *
 * @author Johanna Noguera Le�n & Alejandro Berm�dez Mart�nez.
 * @version 1.0
 * @since Abril de 2005
 */
public class MainProgram {

    // Variable para almacenar el programa principal representado en c�lculo PiCO.
    String mainProgramPico = "";
    // Objeto de la clase Program
    Program program;
    // Variable para almacenar un programa representado
    // en GraPiCO Textual.
    String programGraPicoT;

    /**
     * M�todo constructor de la clase
     * <Code>MainProgram</Code>.
     *
     * @param mainProgramGraPicoT Expresi�n equivalente a la representaci�n del
     * programa principal en <I>GraPiCO Textual</I>.
     */
    public MainProgram(String mainProgramGraPicoT) {
        programGraPicoT = mainProgramGraPicoT;
    }

    /**
     * M�todo generador de la traducci�n del programa principal.<P> Obtiene la
     * traducci�n del programa y la concatena con el s�mbolo "."
     *
     * @return el programa principal traducido a <I>C�lculo PiCO</I>.
     */
    public String traslate() {
        program = new Program(programGraPicoT, "");
        mainProgramPico = program.traslate() + ".";
        return mainProgramPico;
    }
}